package com.lqian.simplestructure.testteamp;

public class Base
{
    private String baseName = "base";

    public Base()
    {
        callName();
    }

    public void callName()
    {
        System. out. println(baseName);
    }

    /**
     * static的作用是相当于建立了2个类
     * 《Thinking in JAVA》201页提到，如果不需要内部类对象与其外部类对象之间有联系，那么可以将内部类声明为static
     */
    static class Sub extends Base
    {
        public int a;
        private String baseName = "sub";
        public void callName()
        {
            System. out. println (baseName) ;
        }
    }
    public static void main(String[] args)
    {
        Base b = new Sub();

        for (int i = 1; i <=10 ; i++) { // i 从 1 开始 i< 10  --> 10次
            System.out.println("hello"); // 10次hello --> 执行次数为10次
        }

        //双重嵌套for循环
        for (int i = 1; i <=10 ; i++) {  // 第一层 i 从 1 开始 i< 10  --> 10次
            for (int j = 1; j <=10 ; j++) { // 第二层 i 从 1 开始 i< 10  --> 100次
                System.out.println("hello"); // 100次hello --> 执行次数为100次
            }
        }

        //三重嵌套for循环
        for (int i = 1; i <=10 ; i++) {  // 第一层 i 从 1 开始 i< 10  --> 10次
            for (int j = 1; j <=10 ; j++) { // 第二层 i 从 1 开始 i< 10  --> 100次
                for (int k = 1; k <=10 ; k++) { // 第三层 i 从 1 开始 i< 10  --> 1000次
                    System.out.println("hello"); // 1000次hello --> 执行次数为1000次
                }

            }
        }

        // 四重,五重嵌套for循环... 以此类推..
        // 结论: 有几层的嵌套for循环，把它们每层的for循环的次数，累乘将得到所有的循环执行次数
    }



}
